package IO;

import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;

/**
 * @ClassName : FileImputStreamDemo
 * @Author : LV88VL
 * @Date: 2021/3/15 15:26
 * @Description : 字节流读写文件
 *      步骤：
 *      1.。创建字节输入流对象
 *      2.。调用读取数据的方式，并显示
 *      3.。释放资源
 *
 *
 *      读取数据的主要方法：
 *      1.。read(char[] cbuf , int off, int len);
 *      读取一个字节，返回该字节的值，如果到达文件的末尾，则返回-1。
 *      需要注意：*******read()方法和迭代器*******一样，会自动下移的
 *
 *      2.。read（byte[ ]）
 *      从输入流中读取至多一个数组长度的内容，到达文件末尾，则返回-1。
 */
public class FileInputStreamDemo {
    public static void main(String[] args) throws IOException {
        //创建字节输入流对象
        FileInputStream fe= new FileInputStream("基础语法.iml");
        //调用读取数据的方式，并显示
        /*第一种方式  直接对文件进行读写
        int bys= 0;
        while ((bys=fe.read())!=-1){
            System.out.println((char)bys);
        }*/
        //第二种方式  以缓冲区来对数据进行读和写
        byte[ ] bys =new byte[1024];
        int len = 0;
        while ((len=fe.read(bys))!=-1){
            //new String(bys,0,len)将字节流数据转换为字符流数据
            System.out.println(new String(bys,0,len));
        }
        //释放资源
        fe.close();
    }
}
